package com.library.books.domain.dto.books;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.library.common.utils.z3950.ReadMarc;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Package: com.library.books.domain.dto.books
 * @ClassName: BooksDto
 * @Author: Yin
 * @Date: 11:05
 * @Description: 此文件描述信息
 */
@Data
public class BooksDto {

    /** id */
    private Long booksId;

    /** ISBN号 */
    private String booksIsbn;

    /** 书籍名称 */
    private String booksName;

    /** 书籍类别 */
    private String booksType;

    /** 书籍作者 */
    private String booksAuthor;

    /** 书籍第二作者 */
    private String booksSecondDuty;

    /** 出版社 */
    private String booksPublisher;

    /** 出版地 */
    private String booksPublisherPlace;

    /** 出版时间 */
    private String booksPublisherDate;

    /** 书籍单价 */
    private BigDecimal booksPrice;

    /** 内容简介 */
    private String booksSynopsis;

    /** 封面图片 */
    private String booksCoverPhoto;

    /** 版次、版本说明 */
    private String booksVersion;

    /** 书籍国图书分类 */
    private String booksCnType;

    /** 书籍总页数 */
    private String booksPages;

    /** 书籍字数 */
    private String booksWords;

    /** 书籍扩展副名称 */
    private String booksExtName;

    /** 书籍译者名 */
    private String booksTranslator;

    /** 分辑号 */
    private String booksPartNumber;

    /** 分辑名 */
    private String booksPartTitle;

    /** 四角号 */
    private String booksSjh;

    /** 从编号 */
    private String booksCbm;

    /** 丛编作者 */
    private String booksCbzz;

    /** 著者号 */
    private String booksZzh;

    /** 书籍语种 */
    private String booksLangue;

    /** 附言 */
    private String booksPs;

    /** 开本 (12cm * 120cm) */
    private String booksSpec;

    /** 印刷 */
    private String booksPrint;

    /** 印次 */
    private String booksPrintNum;

    /** 机读目录数据 */
    private String booksMarc;

    /** 软删除 */
    private Long booksSoft;

    /** 创建人id */
    private Long createId;

    /** 创建者 */
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 修改人id */
    private Long updateId;

    /** 修改人 */
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;


    /// 不存在的字段

    /** 1 = 没有横杠的isbn */
    private int neatISBN;

    /** 复本数量排序 0 升序 1降序 */
    private Integer copyNumSort;

    /** 封面是否上传 0 上传 1 未上传 */
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private String coverType;

    /** 一次更新书目副本的索书号（编目更新时，如果中图法分类进行更新的话，副本批量更新） */
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private String onlyPutCopyLicense;

    /** 书目检索条件 */
    private String type;
    private String value;

//    /** MARC 高级更新 */
//    private List<ReadMarc.MarcBuildField> fields;

}
